use crate::REQWEST_CLIENT;
use anyhow::{ ensure, Result };
use serde::{ Deserialize, Serialize };
use serde_json::Value;
/// 现金流量表 Mapping to [RPT_F10_FINANCE_BCASHFLOW.json](file:///Users/CC/gitee/conanchen/fuquants-workspace/crates/fudacli/eastmoney/sample/RPT_F10_FINANCE_BCASHFLOW.json)
#[derive(Debug, Serialize, Deserialize)]
pub struct RptF10FinanceBcashflow {
    pub version: Value,
    pub result: RptF10FinanceBcashflowResult,
    pub success: Value,
    pub message: Value,
    pub code: Value,
}

#[derive(Debug, Serialize, Deserialize)]
pub struct RptF10FinanceBcashflowResult {
    pub pages: Value,
    pub data: Vec<RptF10FinanceBcashflowResultData>,
    pub count: Option<Value>,
}

#[derive(Debug, Serialize, Deserialize)]
pub struct RptF10FinanceBcashflowResultData {
    #[serde(rename = "SECUCODE")]
    pub secucode: Option<Value>, // 证券代码
    #[serde(rename = "SECURITY_CODE")]
    pub security_code: Option<Value>, // 证券代码
    #[serde(rename = "SECURITY_NAME_ABBR")]
    pub security_name_abbr: Option<Value>, // 证券简称
    #[serde(rename = "ORG_CODE")]
    pub org_code: Option<Value>, // 机构代码
    #[serde(rename = "ORG_TYPE")]
    pub org_type: Option<Value>, // 机构类型
    #[serde(rename = "REPORT_DATE")]
    pub report_date: Option<Value>, // 报告日期
    #[serde(rename = "REPORT_TYPE")]
    pub report_type: Option<Value>, // 报告类型
    #[serde(rename = "REPORT_DATE_NAME")]
    pub report_date_name: Option<Value>, // 报告日期名称
    #[serde(rename = "SECURITY_TYPE_CODE")]
    pub security_type_code: Option<Value>, // 证券类型代码
    #[serde(rename = "NOTICE_DATE")]
    pub notice_date: Option<Value>, // 公告日期
    #[serde(rename = "UPDATE_DATE")]
    pub update_date: Option<Value>, // 更新日期
    #[serde(rename = "CURRENCY")]
    pub currency: Option<Value>, // 币种
    #[serde(rename = "DEPOSIT_IOFI_OTHER")]
    pub deposit_iofi_other: Option<Value>, // 客户存款和同业及其他金融机构存放款项净增加额
    #[serde(rename = "CUSTOMER_DEPOSIT_ADD")]
    pub customer_deposit_add: Option<Value>, // 客户存款净增加额
    #[serde(rename = "IOFI_ADD")]
    pub iofi_add: Option<Value>, // 同业及其他金融机构存放款项净增加额
    #[serde(rename = "LOAN_PBC_ADD")]
    pub loan_pbc_add: Option<Value>, // 向中央银行借款净增加额
    #[serde(rename = "PBC_IOFI_REDUCE")]
    pub pbc_iofi_reduce: Option<Value>, // 存放中央银行和同业款项及其他金融机构净减少额
    #[serde(rename = "DEPOSIT_PBC_REDUCE")]
    pub deposit_pbc_reduce: Option<Value>, // 存放中央银行款项净减少额
    #[serde(rename = "DEPOSIT_IOFI_REDUCE")]
    pub deposit_iofi_reduce: Option<Value>, // 存放同业及其他金融机构款项净减少额
    #[serde(rename = "BORROW_REPO_ADD")]
    pub borrow_repo_add: Option<Value>, // 拆入资金及卖出回购金融资产款净增加额
    #[serde(rename = "BORROW_FUND_ADD")]
    pub borrow_fund_add: Option<Value>, // 其中:拆入资金净增加额
    #[serde(rename = "SELL_REPO_ADD")]
    pub sell_repo_add: Option<Value>, // 卖出回购金融资产款净增加额
    #[serde(rename = "LEND_RESALE_REDUCE")]
    pub lend_resale_reduce: Option<Value>, // 拆出资金及买入返售金融资产净减少额
    #[serde(rename = "LEND_FUND_REDUCE")]
    pub lend_fund_reduce: Option<Value>, // 其中:拆出资金净减少额
    #[serde(rename = "BUY_RESALE_REDUCE")]
    pub buy_resale_reduce: Option<Value>, // 买入返售金融资产净减少额
    #[serde(rename = "NET_CD")]
    pub net_cd: Option<Value>, // 净现金流，可能需要补充更具体的注释
    #[serde(rename = "TRADE_FINLIAB_ADD")]
    pub trade_finliab_add: Option<Value>, // 交易性金融负债净增加额，可能需要补充更具体的注释
    #[serde(rename = "TRADE_FINASSET_REDUCE")]
    pub trade_finasset_reduce: Option<Value>, // 交易性金融资产净减少额
    #[serde(rename = "RECEIVE_INTEREST_COMMISSION")]
    pub receive_interest_commission: Option<Value>, // 收取利息、手续费及佣金的现金
    #[serde(rename = "RECEIVE_INTEREST")]
    pub receive_interest: Option<Value>, // 收取的利息，可能需要补充更具体的注释
    #[serde(rename = "RECEIVE_COMMISSION")]
    pub receive_commission: Option<Value>, // 收取的手续费及佣金，可能需要补充更具体的注释
    #[serde(rename = "DISPOSAL_MORTGAGE_ASSET")]
    pub disposal_mortgage_asset: Option<Value>, // 处置抵押资产所得，可能需要补充更具体的注释
    #[serde(rename = "WITHDRAW_WRITEOFF_LOAN")]
    pub withdraw_writeoff_loan: Option<Value>, // 贷款核销或收回，可能需要补充更具体的注释
    #[serde(rename = "RECEIVE_OTHER_OPERATE")]
    pub receive_other_operate: Option<Value>, // 收到其他与经营活动有关的现金
    #[serde(rename = "OPERATE_INFLOW_OTHER")]
    pub operate_inflow_other: Option<Value>, // 其他经营活动现金流入，可能需要补充更具体的注释
    #[serde(rename = "OPERATE_INFLOW_BALANCE")]
    pub operate_inflow_balance: Option<Value>, // 经营活动现金流入余额，可能需要补充更具体的注释
    #[serde(rename = "TOTAL_OPERATE_INFLOW")]
    pub total_operate_inflow: Option<Value>, // 经营活动现金流入小计
    #[serde(rename = "LOAN_ADVANCE_ADD")]
    pub loan_advance_add: Option<Value>, // 客户贷款及垫款净增加额
    #[serde(rename = "LOAN_PBC_REDUCE")]
    pub loan_pbc_reduce: Option<Value>, // 向中央银行借款净减少额
    #[serde(rename = "PBC_IOFI_ADD")]
    pub pbc_iofi_add: Option<Value>, // 存放中央银行和同业及其他金融机构款项净增加额
    #[serde(rename = "DEPOSIT_PBC_ADD")]
    pub deposit_pbc_add: Option<Value>, // 在中央银行的存款净增加额，可能需要补充更具体的注释
    #[serde(rename = "DEPOSIT_IOFI_ADD")]
    pub deposit_iofi_add: Option<Value>, // 在同业及其他金融机构的存款净增加额，可能需要补充更具体的注释
    #[serde(rename = "INTERBANK_OTHER_REDUCE")]
    pub interbank_other_reduce: Option<Value>, // 银行间往来及其他净减少额
    #[serde(rename = "ISSUED_CD_REDUCE")]
    pub issued_cd_reduce: Option<Value>, // 发行债券净减少额
    #[serde(rename = "LEND_RESALE_ADD")]
    pub lend_resale_add: Option<Value>, // 拆出资金及买入返售金融资产净增加额
    #[serde(rename = "LEND_FUND_ADD")]
    pub lend_fund_add: Option<Value>, // 其中:拆出资金净增加额
    #[serde(rename = "BUY_RESALE_ADD")]
    pub buy_resale_add: Option<Value>, // 买入返售金融资产净增加额
    #[serde(rename = "BORROW_REPO_REDUCE")]
    pub borrow_repo_reduce: Option<Value>, // 拆入资金及卖出回购金融资产款净减少额
    #[serde(rename = "BORROW_FUND_REDUCE")]
    pub borrow_fund_reduce: Option<Value>, // 其中:拆入资金净减少额
    #[serde(rename = "SELL_REPO_REDUCE")]
    pub sell_repo_reduce: Option<Value>, // 卖出回购金融资产净减少额
    #[serde(rename = "TRADE_FINASSET_ADD")]
    pub trade_finasset_add: Option<Value>, // 交易性金融资产净增加额
    #[serde(rename = "TRADE_FINLIAB_REDUCE")]
    pub trade_finliab_reduce: Option<Value>, // 交易性金融负债净减少额
    #[serde(rename = "PAY_INTEREST_COMMISSION")]
    pub pay_interest_commission: Option<Value>, // 支付利息、手续费及佣金的现金
    #[serde(rename = "PAY_INTEREST")]
    pub pay_interest: Option<Value>, // 支付的利息
    #[serde(rename = "PAY_COMMISSION")]
    pub pay_commission: Option<Value>, // 支付的手续费及佣金
    #[serde(rename = "PAY_STAFF_CASH")]
    pub pay_staff_cash: Option<Value>, // 支付给职工以及为职工支付的现金
    #[serde(rename = "PAY_ALL_TAX")]
    pub pay_all_tax: Option<Value>, // 支付的各项税费
    #[serde(rename = "BUY_FIN_LEASE")]
    pub buy_fin_lease: Option<Value>, // 购买固定资产、无形资产和其他长期资产支付的现金
    #[serde(rename = "ACCOUNTS_RECE_ADD")]
    pub accounts_rece_add: Option<Value>, // 应收账款净增加额
    #[serde(rename = "PAY_OTHER_OPERATE")]
    pub pay_other_operate: Option<Value>, // 支付其他与经营活动有关的现金
    #[serde(rename = "OPERATE_OUTFLOW_OTHER")]
    pub operate_outflow_other: Option<Value>, // 其他经营活动现金流出
    #[serde(rename = "OPERATE_OUTFLOW_BALANCE")]
    pub operate_outflow_balance: Option<Value>, // 经营活动现金流出余额
    #[serde(rename = "TOTAL_OPERATE_OUTFLOW")]
    pub total_operate_outflow: Option<Value>, // 经营活动现金流出小计
    #[serde(rename = "OPERATE_NETCASH_OTHER")]
    pub operate_netcash_other: Option<Value>, // 经营活动产生的现金流量净额（其他）
    #[serde(rename = "OPERATE_NETCASH_BALANCE")]
    pub operate_netcash_balance: Option<Value>, // 经营活动产生的现金流量净额余额
    #[serde(rename = "NETCASH_OPERATE")]
    pub netcash_operate: Option<Value>, // 经营活动产生的现金流量净额
    #[serde(rename = "WITHDRAW_INVEST")]
    pub withdraw_invest: Option<Value>, // 收回投资收到的现金
    #[serde(rename = "RECEIVE_INVEST_INCOME")]
    pub receive_invest_income: Option<Value>, // 取得投资收益收到的现金
    #[serde(rename = "RECEIVE_DIVIDEND_PROFIT")]
    pub receive_dividend_profit: Option<Value>, // 收到股利和利润收到的现金
    #[serde(rename = "DISPOSAL_LONG_ASSET")]
    pub disposal_long_asset: Option<Value>, // 处置固定资产、无形资产和其他长期资产收回的现金
    #[serde(rename = "DISPOSAL_SUBSIDIARY_JOINT")]
    pub disposal_subsidiary_joint: Option<Value>, // 处置子公司及其他营业单位收到的现金净额
    #[serde(rename = "RECEIVE_OTHER_INVEST")]
    pub receive_other_invest: Option<Value>, // 收到其他与投资活动有关的现金
    #[serde(rename = "INVEST_INFLOW_OTHER")]
    pub invest_inflow_other: Option<Value>, // 投资活动现金流入小计（其他）
    #[serde(rename = "INVEST_INFLOW_BALANCE")]
    pub invest_inflow_balance: Option<Value>, // 投资活动现金流入余额
    #[serde(rename = "TOTAL_INVEST_INFLOW")]
    pub total_invest_inflow: Option<Value>, // 投资活动现金流入小计
    #[serde(rename = "INVEST_PAY_CASH")]
    pub invest_pay_cash: Option<Value>, // 投资支付的现金
    #[serde(rename = "CONSTRUCT_LONG_ASSET")]
    pub construct_long_asset: Option<Value>, // 购建固定资产、无形资产和其他长期资产支付的现金
    #[serde(rename = "OBTAIN_SUBSIDIARY_OTHER")]
    pub obtain_subsidiary_other: Option<Value>, // 取得子公司及其他营业单位支付的现金净额
    #[serde(rename = "PAY_OTHER_INVEST")]
    pub pay_other_invest: Option<Value>, // 支付其他与投资活动有关的现金
    #[serde(rename = "INVEST_OUTFLOW_OTHER")]
    pub invest_outflow_other: Option<Value>, // 投资活动现金流出小计（其他）
    #[serde(rename = "INVEST_OUTFLOW_BALANCE")]
    pub invest_outflow_balance: Option<Value>, // 投资活动现金流出余额
    #[serde(rename = "TOTAL_INVEST_OUTFLOW")]
    pub total_invest_outflow: Option<Value>, // 投资活动现金流出小计
    #[serde(rename = "INVEST_NETCASH_OTHER")]
    pub invest_netcash_other: Option<Value>, // 投资活动产生的现金流量净额（其他）
    #[serde(rename = "INVEST_NETCASH_BALANCE")]
    pub invest_netcash_balance: Option<Value>, // 投资活动产生的现金流量净额余额
    #[serde(rename = "NETCASH_INVEST")]
    pub netcash_invest: Option<Value>, // 投资活动产生的现金流量净额
    #[serde(rename = "ISSUE_BOND")]
    pub issue_bond: Option<Value>, // 发行债券收到的现金
    #[serde(rename = "ISSUE_SUBBOND")]
    pub issue_subbond: Option<Value>, // 发行优先股或永续债收到的现金
    #[serde(rename = "ISSUE_OTHER_BOND")]
    pub issue_other_bond: Option<Value>, // 发行除普通股以外的权益工具收到的现金
    #[serde(rename = "ACCEPT_INVEST_CASH")]
    pub accept_invest_cash: Option<Value>, // 吸收投资收到的现金
    #[serde(rename = "SUBSIDIARY_ACCEPT_INVEST")]
    pub subsidiary_accept_invest: Option<Value>, // 子公司接受投资收到的现金
    #[serde(rename = "ISSUE_CD")]
    pub issue_cd: Option<Value>, // 发行债务收到的现金
    #[serde(rename = "RECEIVE_ADD_EQUITY")]
    pub receive_add_equity: Option<Value>, // 吸收权益性投资收到的现金
    #[serde(rename = "RECEIVE_OTHER_FINANCE")]
    pub receive_other_finance: Option<Value>, // 收到其他与筹资活动有关的现金
    #[serde(rename = "FINANCE_INFLOW_OTHER")]
    pub finance_inflow_other: Option<Value>, // 筹资活动现金流入小计（其他）
    #[serde(rename = "FINANCE_INFLOW_BALANCE")]
    pub finance_inflow_balance: Option<Value>, // 筹资活动现金流入余额
    #[serde(rename = "TOTAL_FINANCE_INFLOW")]
    pub total_finance_inflow: Option<Value>, // 筹资活动现金流入小计
    #[serde(rename = "PAY_DEBT_CASH")]
    pub pay_debt_cash: Option<Value>, // 偿还债务所支付的现金
    #[serde(rename = "PAY_BOND_INTEREST")]
    pub pay_bond_interest: Option<Value>, // 偿付债券利息支付的现金
    #[serde(rename = "ISSUE_SHARES_EXPENSE")]
    pub issue_shares_expense: Option<Value>, // 发行股票支付的费用
    #[serde(rename = "ASSIGN_DIVIDEND_PORFIT")]
    pub assign_dividend_profit: Option<Value>, // 分配股利、利润或偿付利息支付的现金
    #[serde(rename = "PAY_OTHER_FINANCE")]
    pub pay_other_finance: Option<Value>, // 支付其他与筹资活动有关的现金
    #[serde(rename = "FINANCE_OUTFLOW_OTHER")]
    pub finance_outflow_other: Option<Value>, // 筹资活动现金流出的其他项目
    #[serde(rename = "FINANCE_OUTFLOW_BALANCE")]
    pub finance_outflow_balance: Option<Value>, // 筹资活动现金流出余额
    #[serde(rename = "TOTAL_FINANCE_OUTFLOW")]
    pub total_finance_outflow: Option<Value>, // 筹资活动现金流出小计
    #[serde(rename = "FINANCE_NETCASH_OTHER")]
    pub finance_netcash_other: Option<Value>, // 筹资活动产生的现金流量净额（其他）
    #[serde(rename = "FINANCE_NETCASH_BALANCE")]
    pub finance_netcash_balance: Option<Value>, // 筹资活动产生的现金流量净额余额
    #[serde(rename = "NETCASH_FINANCE")]
    pub netcash_finance: Option<Value>, // 筹资活动产生的现金流量净额
    #[serde(rename = "RATE_CHANGE_EFFECT")]
    pub rate_change_effect: Option<Value>, // 汇率变动对现金及现金等价物的影响
    #[serde(rename = "CCE_ADD_OTHER")]
    pub cce_add_other: Option<Value>, // 现金及现金等价物净增加额（其他）
    #[serde(rename = "CCE_ADD_BALANCE")]
    pub cce_add_balance: Option<Value>, // 现金及现金等价物净增加额余额
    #[serde(rename = "CCE_ADD")]
    pub cce_add: Option<Value>, // 现金及现金等价物净增加额
    #[serde(rename = "BEGIN_CCE")]
    pub begin_cce: Option<Value>, // 期初现金及现金等价物余额
    #[serde(rename = "END_CCE_OTHER")]
    pub end_cce_other: Option<Value>, // 期末现金及现金等价物余额（其他）
    #[serde(rename = "END_CCE_BALANCE")]
    pub end_cce_balance: Option<Value>, // 期末现金及现金等价物余额余额
    #[serde(rename = "END_CCE")]
    pub end_cce: Option<Value>, // 期末现金及现金等价物余额
    #[serde(rename = "NETPROFIT")]
    pub netprofit: Option<Value>, // 净利润
    #[serde(rename = "ASSET_IMPAIRMENT")]
    pub asset_impairment: Option<Value>, // 资产减值准备
    #[serde(rename = "PROVISION_INVEST_IMPAIRMENT")]
    pub provision_invest_impairment: Option<Value>, // 投资减值准备
    #[serde(rename = "TRANSFER_INVEST_IMPAIRMENT")]
    pub transfer_invest_impairment: Option<Value>, // 转让投资减值准备
    #[serde(rename = "PROVISION_LOAN_IMPAIRMENT")]
    pub provision_loan_impairment: Option<Value>, // 贷款减值准备
    #[serde(rename = "OTHER_ASSET_IMPAIRMENT")]
    pub other_asset_impairment: Option<Value>, // 计提其他资产减值准备
    #[serde(rename = "PROVISION_PREDICT_LIAB")]
    pub provision_predict_liab: Option<Value>, // 预计负债
    #[serde(rename = "FA_IR_DEPR")]
    pub fa_ir_depr: Option<Value>, // 固定资产和投资性房地产折旧
    #[serde(rename = "FIXED_ASSET_DEPR")]
    pub fixed_asset_depr: Option<Value>, // 固定资产折旧
    #[serde(rename = "IA_LPE_AMORTIZE")]
    pub ia_lpe_amortize: Option<Value>, // 无形资产及长期待摊费用等摊销
    #[serde(rename = "IA_AMORTIZE")]
    pub ia_amortize: Option<Value>, // 无形资产摊销
    #[serde(rename = "LPE_AMORTIZE")]
    pub lpe_amortize: Option<Value>, // 长期待摊费用摊销
    #[serde(rename = "LONGASSET_AMORTIZE")]
    pub longasset_amortize: Option<Value>, // 长期资产摊销
    #[serde(rename = "DISPOSAL_LONGASSET_LOSS")]
    pub disposal_longasset_loss: Option<Value>, // 处置固定资产、无形资产和其他长期资产的损失
    #[serde(rename = "FA_SCRAP_LOSS")]
    pub fa_scrap_loss: Option<Value>, // 固定资产报废损失
    #[serde(rename = "FAIRVALUE_CHANGE_LOSS")]
    pub fairvalue_change_loss: Option<Value>, // 公允价值变动损失
    #[serde(rename = "RECEIVE_WRITEOFF")]
    pub receive_writeoff: Option<Value>, // 收款核销
    #[serde(rename = "INVEST_LOSS")]
    pub invest_loss: Option<Value>, // 投资损失
    #[serde(rename = "EXCHANGE_LOSS")]
    pub exchange_loss: Option<Value>, // 汇兑损失
    #[serde(rename = "BOND_INTEREST_EXPENSE")]
    pub bond_interest_expense: Option<Value>, // 发行债券利息支出
    #[serde(rename = "DEFER_TAX")]
    pub defer_tax: Option<Value>, // 递延所得税
    #[serde(rename = "DT_ASSET_REDUCE")]
    pub dt_asset_reduce: Option<Value>, // 其中:递延所得税资产减少
    #[serde(rename = "DT_LIAB_ADD")]
    pub dt_liab_add: Option<Value>, // 递延所得税负债增加
    #[serde(rename = "INVENTORY_REDUCE")]
    pub inventory_reduce: Option<Value>, // 存货减少
    #[serde(rename = "LOAN_REDUCE")]
    pub loan_reduce: Option<Value>, // 贷款减少
    #[serde(rename = "DEPOSIT_ADD")]
    pub deposit_add: Option<Value>, // 存款增加
    #[serde(rename = "LEND_ADD")]
    pub lend_add: Option<Value>, // 拆出资金增加
    #[serde(rename = "FINASSET_REDUCE")]
    pub finasset_reduce: Option<Value>, // 金融资产减少
    #[serde(rename = "FINLIAB_ADD")]
    pub finliab_add: Option<Value>, // 金融负债增加
    #[serde(rename = "OPERATE_RECE_REDUCE")]
    pub operate_rece_reduce: Option<Value>, // 经营性应收项目的减少
    #[serde(rename = "OPERATE_PAYABLE_ADD")]
    pub operate_payable_add: Option<Value>, // 经营性应付项目的增加
    #[serde(rename = "OTHER")]
    pub other: Option<Value>, // 其他
    #[serde(rename = "FBOPERATE_NETCASH_OTHER")]
    pub fboperate_netcash_other: Option<Value>, // 经营活动产生的现金流量净额其他项目
    #[serde(rename = "FBOPERATE_NETCASH_BALANCE")]
    pub fboperate_netcash_balance: Option<Value>, // 经营活动产生的现金流量净额余额
    #[serde(rename = "FBNETCASH_OPERATE")]
    pub fbnetcash_operate: Option<Value>, // 经营活动产生的现金流量净额
    #[serde(rename = "DEBT_TRANSFER_CAPITAL")]
    pub debt_transfer_capital: Option<Value>, // 债务转为资本
    #[serde(rename = "CONVERT_BOND_1YEAR")]
    pub convert_bond_1year: Option<Value>, // 一年内到期的可转换公司债券
    #[serde(rename = "FINLEASE_OBTAIN_FA")]
    pub finlease_obtain_fa: Option<Value>, // 融资租赁固定资产
    #[serde(rename = "UNINVOLVE_INVESTFIN_OTHER")]
    pub uninvolve_investfin_other: Option<Value>, // 涉及现金收支的其他投资活动
    #[serde(rename = "END_CASH")]
    pub end_cash: Option<Value>, // 现金的期末余额
    #[serde(rename = "BEGIN_CASH")]
    pub begin_cash: Option<Value>, // 减:现金的期初余额
    #[serde(rename = "END_CASH_EQUIVALENTS")]
    pub end_cash_equivalents: Option<Value>, // 加:现金等价物的期末余额
    #[serde(rename = "BEGIN_CASH_EQUIVALENTS")]
    pub begin_cash_equivalents: Option<Value>, // 减:现金等价物的期初余额
    #[serde(rename = "FBCCE_ADD_OTHER")]
    pub fbcce_add_other: Option<Value>, // 其他现金及现金等价物净增加额
    #[serde(rename = "FBCCE_ADD_BALANCE")]
    pub fbcce_add_balance: Option<Value>, // 现金及现金等价物净增加额余额
    #[serde(rename = "FBCCE_ADD")]
    pub fbcce_add: Option<Value>, // 现金及现金等价物的净增加额
    #[serde(rename = "CREDIT_IMPAIRMENT_INCOME")]
    pub credit_impairment_income: Option<Value>, // 信用减值收入
    #[serde(rename = "OPINION_TYPE")]
    pub opinion_type: Option<Value>, // 意见类型
    #[serde(rename = "OSOPINION_TYPE")]
    pub osopinion_type: Option<Value>, // 其他意见类型
    #[serde(rename = "DEPOSIT_IOFI_OTHER_YOY")]
    pub deposit_iofi_other_yoy: Option<Value>, // 其他金融机构存款同比增长
    #[serde(rename = "CUSTOMER_DEPOSIT_ADD_YOY")]
    pub customer_deposit_add_yoy: Option<Value>, // 客户存款增加额同比增长
    #[serde(rename = "IOFI_ADD_YOY")]
    pub iofi_add_yoy: Option<Value>, // 金融机构存款增加额同比增长
    #[serde(rename = "LOAN_PBC_ADD_YOY")]
    pub loan_pbc_add_yoy: Option<Value>, // 人民银行贷款增加额同比增长
    #[serde(rename = "PBC_IOFI_REDUCE_YOY")]
    pub pbc_iofi_reduce_yoy: Option<Value>, // 人民银行金融机构存款减少额同比增长
    #[serde(rename = "DEPOSIT_PBC_REDUCE_YOY")]
    pub deposit_pbc_reduce_yoy: Option<Value>, // 人民银行存款减少额同比增长
    #[serde(rename = "DEPOSIT_IOFI_REDUCE_YOY")]
    pub deposit_iofi_reduce_yoy: Option<Value>, // 金融机构存款减少额同比增长
    #[serde(rename = "BORROW_REPO_ADD_YOY")]
    pub borrow_repo_add_yoy: Option<Value>, // 质押式回购融入资金增加额同比增长
    #[serde(rename = "BORROW_FUND_ADD_YOY")]
    pub borrow_fund_add_yoy: Option<Value>, // 同业拆入资金增加额同比增长
    #[serde(rename = "SELL_REPO_ADD_YOY")]
    pub sell_repo_add_yoy: Option<Value>, // 质押式回购融出资金增加额同比增长
    #[serde(rename = "LEND_RESALE_REDUCE_YOY")]
    pub lend_resale_reduce_yoy: Option<Value>, // 买断式回购减少额同比增长
    #[serde(rename = "LEND_FUND_REDUCE_YOY")]
    pub lend_fund_reduce_yoy: Option<Value>, // 同业拆出资金减少额同比增长
    #[serde(rename = "BUY_RESALE_REDUCE_YOY")]
    pub buy_resale_reduce_yoy: Option<Value>, // 卖断式回购减少额同比增长
    #[serde(rename = "NET_CD_YOY")]
    pub net_cd_yoy: Option<Value>, // 结算性同业存放净额同比增长
    #[serde(rename = "TRADE_FINLIAB_ADD_YOY")]
    pub trade_finliab_add_yoy: Option<Value>, // 贸易金融负债增加额同比增长
    #[serde(rename = "TRADE_FINASSET_REDUCE_YOY")]
    pub trade_finasset_reduce_yoy: Option<Value>, // 贸易金融资产减少额同比增长
    #[serde(rename = "RECEIVE_INTEREST_COMMISSION_YOY")]
    pub receive_interest_commission_yoy: Option<Value>, // 利息及手续费收入同比增长
    #[serde(rename = "RECEIVE_INTEREST_YOY")]
    pub receive_interest_yoy: Option<Value>, // 利息收入同比增长
    #[serde(rename = "RECEIVE_COMMISSION_YOY")]
    pub receive_commission_yoy: Option<Value>, // 手续费收入同比增长
    #[serde(rename = "DISPOSAL_MORTGAGE_ASSET_YOY")]
    pub disposal_mortgage_asset_yoy: Option<Value>, // 处置抵押资产同比增长
    #[serde(rename = "WITHDRAW_WRITEOFF_LOAN_YOY")]
    pub withdraw_writeoff_loan_yoy: Option<Value>, // 核销贷款同比增长
    #[serde(rename = "RECEIVE_OTHER_OPERATE_YOY")]
    pub receive_other_operate_yoy: Option<Value>, // 其他营业收入同比增长
    #[serde(rename = "OPERATE_INFLOW_OTHER_YOY")]
    pub operate_inflow_other_yoy: Option<Value>, // 其他营业资金流入同比增长
    #[serde(rename = "OPERATE_INFLOW_BALANCE_YOY")]
    pub operate_inflow_balance_yoy: Option<Value>, // 营业资金流入余额同比增长
    #[serde(rename = "TOTAL_OPERATE_INFLOW_YOY")]
    pub total_operate_inflow_yoy: Option<Value>, // 营业资金流入总额同比增长
    #[serde(rename = "LOAN_ADVANCE_ADD_YOY")]
    pub loan_advance_add_yoy: Option<Value>, // 贷款发放增加额同比增长
    #[serde(rename = "LOAN_PBC_REDUCE_YOY")]
    pub loan_pbc_reduce_yoy: Option<Value>, // 人民银行贷款减少额同比增长
    #[serde(rename = "PBC_IOFI_ADD_YOY")]
    pub pbc_iofi_add_yoy: Option<Value>, // 人民银行金融机构存款增加额同比增长
    #[serde(rename = "DEPOSIT_PBC_ADD_YOY")]
    pub deposit_pbc_add_yoy: Option<Value>, // 人民银行存款增加额同比增长
    #[serde(rename = "DEPOSIT_IOFI_ADD_YOY")]
    pub deposit_iofi_add_yoy: Option<Value>, // 金融机构存款增加额同比增长
    #[serde(rename = "INTERBANK_OTHER_REDUCE_YOY")]
    pub interbank_other_reduce_yoy: Option<Value>, // 其他同业业务减少额同比增长
    #[serde(rename = "ISSUED_CD_REDUCE_YOY")]
    pub issued_cd_reduce_yoy: Option<Value>, // 发行同业存单减少额同比增长
    #[serde(rename = "LEND_RESALE_ADD_YOY")]
    pub lend_resale_add_yoy: Option<Value>, // 买断式回购增加额同比增长
    #[serde(rename = "LEND_FUND_ADD_YOY")]
    pub lend_fund_add_yoy: Option<Value>, // 同业拆出资金增加额同比增长
    #[serde(rename = "BUY_RESALE_ADD_YOY")]
    pub buy_resale_add_yoy: Option<Value>, // 卖断式回购增加额同比增长
    #[serde(rename = "BORROW_REPO_REDUCE_YOY")]
    pub borrow_repo_reduce_yoy: Option<Value>, // 质押式回购融入资金减少额同比增长
    #[serde(rename = "BORROW_FUND_REDUCE_YOY")]
    pub borrow_fund_reduce_yoy: Option<Value>, // 同业拆入资金减少额同比增长
    #[serde(rename = "SELL_REPO_REDUCE_YOY")]
    pub sell_repo_reduce_yoy: Option<Value>, // 质押式回购融出资金减少额同比增长
    #[serde(rename = "TRADE_FINASSET_ADD_YOY")]
    pub trade_finasset_add_yoy: Option<Value>, // 贸易金融资产增加额同比增长
    #[serde(rename = "TRADE_FINLIAB_REDUCE_YOY")]
    pub trade_finliab_reduce_yoy: Option<Value>,
    #[serde(rename = "PAY_INTEREST_COMMISSION_YOY")]
    pub pay_interest_commission_yoy: Option<Value>, // 利息及手续费支出同比增长
    #[serde(rename = "PAY_INTEREST_YOY")]
    pub pay_interest_yoy: Option<Value>, // 利息支出同比增长
    #[serde(rename = "PAY_COMMISSION_YOY")]
    pub pay_commission_yoy: Option<Value>, // 手续费支出同比增长
    #[serde(rename = "PAY_STAFF_CASH_YOY")]
    pub pay_staff_cash_yoy: Option<Value>, // 职工薪酬现金支出同比增长
    #[serde(rename = "PAY_ALL_TAX_YOY")]
    pub pay_all_tax_yoy: Option<Value>, // 各项税费支出同比增长
    #[serde(rename = "BUY_FIN_LEASE_YOY")]
    pub buy_fin_lease_yoy: Option<Value>, // 融资租赁支出同比增长
    #[serde(rename = "ACCOUNTS_RECE_ADD_YOY")]
    pub accounts_rece_add_yoy: Option<Value>, // 应收账款增加额同比增长
    #[serde(rename = "PAY_OTHER_OPERATE_YOY")]
    pub pay_other_operate_yoy: Option<Value>, // 其他营业支出同比增长
    #[serde(rename = "OPERATE_OUTFLOW_OTHER_YOY")]
    pub operate_outflow_other_yoy: Option<Value>, // 其他营业资金流出同比增长
    #[serde(rename = "OPERATE_OUTFLOW_BALANCE_YOY")]
    pub operate_outflow_balance_yoy: Option<Value>, // 营业资金流出余额同比增长
    #[serde(rename = "TOTAL_OPERATE_OUTFLOW_YOY")]
    pub total_operate_outflow_yoy: Option<Value>, // 营业资金流出总额同比增长
    #[serde(rename = "OPERATE_NETCASH_OTHER_YOY")]
    pub operate_netcash_other_yoy: Option<Value>, // 其他经营活动净现金流同比增长
    #[serde(rename = "OPERATE_NETCASH_BALANCE_YOY")]
    pub operate_netcash_balance_yoy: Option<Value>, // 经营活动净现金流余额同比增长
    #[serde(rename = "NETCASH_OPERATE_YOY")]
    pub netcash_operate_yoy: Option<Value>, // 经营活动净现金流同比增长
    #[serde(rename = "WITHDRAW_INVEST_YOY")]
    pub withdraw_invest_yoy: Option<Value>, // 投资收回同比增长
    #[serde(rename = "RECEIVE_INVEST_INCOME_YOY")]
    pub receive_invest_income_yoy: Option<Value>, // 投资收益收到现金同比增长
    #[serde(rename = "RECEIVE_DIVIDEND_PROFIT_YOY")]
    pub receive_dividend_profit_yoy: Option<Value>, // 股利收益收到现金同比增长
    #[serde(rename = "DISPOSAL_LONG_ASSET_YOY")]
    pub disposal_long_asset_yoy: Option<Value>, // 处置长期资产收到现金同比增长
    #[serde(rename = "DISPOSAL_SUBSIDIARY_JOINT_YOY")]
    pub disposal_subsidiary_joint_yoy: Option<Value>, // 处置子公司及其他营业单位收到现金同比增长
    #[serde(rename = "RECEIVE_OTHER_INVEST_YOY")]
    pub receive_other_invest_yoy: Option<Value>, // 收到其他与投资活动有关的现金同比增长
    #[serde(rename = "INVEST_INFLOW_OTHER_YOY")]
    pub invest_inflow_other_yoy: Option<Value>, // 其他投资现金流入同比增长
    #[serde(rename = "INVEST_INFLOW_BALANCE_YOY")]
    pub invest_inflow_balance_yoy: Option<Value>, // 投资现金流入余额同比增长
    #[serde(rename = "TOTAL_INVEST_INFLOW_YOY")]
    pub total_invest_inflow_yoy: Option<Value>, // 投资现金流入总额同比增长
    #[serde(rename = "INVEST_PAY_CASH_YOY")]
    pub invest_pay_cash_yoy: Option<Value>, // 投资支付现金同比增长
    #[serde(rename = "CONSTRUCT_LONG_ASSET_YOY")]
    pub construct_long_asset_yoy: Option<Value>, // 购建固定资产、无形资产和其他长期资产支付的现金同比增长
    #[serde(rename = "OBTAIN_SUBSIDIARY_OTHER_YOY")]
    pub obtain_subsidiary_other_yoy: Option<Value>, // 取得子公司及其他营业单位支付的现金净额同比增长
    #[serde(rename = "PAY_OTHER_INVEST_YOY")]
    pub pay_other_invest_yoy: Option<Value>, // 支付其他与投资活动有关的现金同比增长
    #[serde(rename = "INVEST_OUTFLOW_OTHER_YOY")]
    pub invest_outflow_other_yoy: Option<Value>, // 其他投资现金流出同比增长
    #[serde(rename = "INVEST_OUTFLOW_BALANCE_YOY")]
    pub invest_outflow_balance_yoy: Option<Value>, // 投资现金流出余额同比增长
    #[serde(rename = "TOTAL_INVEST_OUTFLOW_YOY")]
    pub total_invest_outflow_yoy: Option<Value>, // 投资现金流出总额同比增长
    #[serde(rename = "INVEST_NETCASH_OTHER_YOY")]
    pub invest_netcash_other_yoy: Option<Value>, // 其他投资活动净现金流同比增长
    #[serde(rename = "INVEST_NETCASH_BALANCE_YOY")]
    pub invest_netcash_balance_yoy: Option<Value>, // 投资活动净现金流余额同比增长
    #[serde(rename = "NETCASH_INVEST_YOY")]
    pub netcash_invest_yoy: Option<Value>, // 投资活动净现金流同比增长
    #[serde(rename = "ISSUE_BOND_YOY")]
    pub issue_bond_yoy: Option<Value>, // 发行债券收到的现金同比增长
    #[serde(rename = "ISSUE_SUBBOND_YOY")]
    pub issue_subbond_yoy: Option<Value>, // 发行优先股和永续债收到的现金同比增长
    #[serde(rename = "ISSUE_OTHER_BOND_YOY")]
    pub issue_other_bond_yoy: Option<Value>, // 发行其他债券收到的现金同比增长
    #[serde(rename = "ACCEPT_INVEST_CASH_YOY")]
    pub accept_invest_cash_yoy: Option<Value>, // 吸收投资收到的现金同比增长
    #[serde(rename = "SUBSIDIARY_ACCEPT_INVEST_YOY")]
    pub subsidiary_accept_invest_yoy: Option<Value>, // 子公司吸收投资收到的现金同比增长
    #[serde(rename = "ISSUE_CD_YOY")]
    pub issue_cd_yoy: Option<Value>, // 发行商业承兑汇票收到的现金同比增长
    #[serde(rename = "RECEIVE_ADD_EQUITY_YOY")]
    pub receive_add_equity_yoy: Option<Value>, // 收到其他与筹资活动有关的现金同比增长
    #[serde(rename = "RECEIVE_OTHER_FINANCE_YOY")]
    pub receive_other_finance_yoy: Option<Value>, // 取得借款收到的现金同比增长
    #[serde(rename = "FINANCE_INFLOW_OTHER_YOY")]
    pub finance_inflow_other_yoy: Option<Value>, // 其他筹资现金流入同比增长
    #[serde(rename = "FINANCE_INFLOW_BALANCE_YOY")]
    pub finance_inflow_balance_yoy: Option<Value>, // 筹资现金流入余额同比增长
    #[serde(rename = "TOTAL_FINANCE_INFLOW_YOY")]
    pub total_finance_inflow_yoy: Option<Value>, // 筹资现金流入总额同比增长
    #[serde(rename = "PAY_DEBT_CASH_YOY")]
    pub pay_debt_cash_yoy: Option<Value>, // 偿还债务支付的现金同比增长
    #[serde(rename = "PAY_BOND_INTEREST_YOY")]
    pub pay_bond_interest_yoy: Option<Value>, // 分配股利、利润或偿付利息支付的现金同比增长
    #[serde(rename = "ISSUE_SHARES_EXPENSE_YOY")]
    pub issue_shares_expense_yoy: Option<Value>, // 发行股份支付的相关费用同比增长
    #[serde(rename = "ASSIGN_DIVIDEND_PORFIT_YOY")]
    pub assign_dividend_profit_yoy: Option<Value>, // 分配股利、利润或偿付利息支付的现金同比增长（另一种表述）
    #[serde(rename = "PAY_OTHER_FINANCE_YOY")]
    pub pay_other_finance_yoy: Option<Value>, // 支付其他与筹资活动有关的现金同比增长
    #[serde(rename = "FINANCE_OUTFLOW_OTHER_YOY")]
    pub finance_outflow_other_yoy: Option<Value>, // 其他筹资现金流出同比增长
    #[serde(rename = "FINANCE_OUTFLOW_BALANCE_YOY")]
    pub finance_outflow_balance_yoy: Option<Value>, // 筹资现金流出余额同比增长
    #[serde(rename = "TOTAL_FINANCE_OUTFLOW_YOY")]
    pub total_finance_outflow_yoy: Option<Value>, // 筹资现金流出总额同比增长
    #[serde(rename = "FINANCE_NETCASH_OTHER_YOY")]
    pub finance_netcash_other_yoy: Option<Value>, // 其他筹资活动净现金流同比增长
    #[serde(rename = "FINANCE_NETCASH_BALANCE_YOY")]
    pub finance_netcash_balance_yoy: Option<Value>, // 筹资活动净现金流余额同比增长
    #[serde(rename = "NETCASH_FINANCE_YOY")]
    pub netcash_finance_yoy: Option<Value>, // 筹资活动净现金流同比增长
    #[serde(rename = "RATE_CHANGE_EFFECT_YOY")]
    pub rate_change_effect_yoy: Option<Value>, // 汇率变动对现金及现金等价物的影响同比增长
    #[serde(rename = "CCE_ADD_OTHER_YOY")]
    pub cce_add_other_yoy: Option<Value>, // 现金及现金等价物净增加额其他同比增长
    #[serde(rename = "CCE_ADD_BALANCE_YOY")]
    pub cce_add_balance_yoy: Option<Value>, // 现金及现金等价物净增加额余额同比增长
    #[serde(rename = "CCE_ADD_YOY")]
    pub cce_add_yoy: Option<Value>, // 现金及现金等价物净增加额同比增长
    #[serde(rename = "BEGIN_CCE_YOY")]
    pub begin_cce_yoy: Option<Value>, // 期初现金及现金等价物余额同比增长
    #[serde(rename = "END_CCE_OTHER_YOY")]
    pub end_cce_other_yoy: Option<Value>, // 期末现金及现金等价物余额其他同比增长
    #[serde(rename = "END_CCE_BALANCE_YOY")]
    pub end_cce_balance_yoy: Option<Value>, // 期末现金及现金等价物余额余额同比增长
    #[serde(rename = "END_CCE_YOY")]
    pub end_cce_yoy: Option<Value>, // 期末现金及现金等价物余额同比增长
    #[serde(rename = "NETPROFIT_YOY")]
    pub netprofit_yoy: Option<Value>, // 净利润同比增长
    #[serde(rename = "ASSET_IMPAIRMENT_YOY")]
    pub asset_impairment_yoy: Option<Value>, // 资产减值损失同比增长
    #[serde(rename = "PROVISION_INVEST_IMPAIRMENT_YOY")]
    pub provision_invest_impairment_yoy: Option<Value>, // 投资减值准备同比增长
    #[serde(rename = "TRANSFER_INVEST_IMPAIRMENT_YOY")]
    pub transfer_invest_impairment_yoy: Option<Value>, // 转移投资减值准备同比增长
    #[serde(rename = "PROVISION_LOAN_IMPAIRMENT_YOY")]
    pub provision_loan_impairment_yoy: Option<Value>, // 贷款减值准备同比增长
    #[serde(rename = "OTHER_ASSET_IMPAIRMENT_YOY")]
    pub other_asset_impairment_yoy: Option<Value>, // 其他资产减值损失同比增长
    #[serde(rename = "PROVISION_PREDICT_LIAB_YOY")]
    pub provision_predict_liab_yoy: Option<Value>, // 预计负债准备同比增长
    #[serde(rename = "FA_IR_DEPR_YOY")]
    pub fa_ir_depr_yoy: Option<Value>, // 固定资产利息折旧同比增长
    #[serde(rename = "FIXED_ASSET_DEPR_YOY")]
    pub fixed_asset_depr_yoy: Option<Value>, // 固定资产折旧同比增长
    #[serde(rename = "IA_LPE_AMORTIZE_YOY")]
    pub ia_lpe_amortize_yoy: Option<Value>, // 无形资产-土地使用权摊销同比增长
    #[serde(rename = "IA_AMORTIZE_YOY")]
    pub ia_amortize_yoy: Option<Value>, // 无形资产摊销同比增长
    #[serde(rename = "LPE_AMORTIZE_YOY")]
    pub lpe_amortize_yoy: Option<Value>, // 土地使用权摊销同比增长
    #[serde(rename = "LONGASSET_AMORTIZE_YOY")]
    pub longasset_amortize_yoy: Option<Value>, // 长期资产摊销同比增长
    #[serde(rename = "DISPOSAL_LONGASSET_LOSS_YOY")]
    pub disposal_longasset_loss_yoy: Option<Value>, // 处置长期资产损失同比增长
    #[serde(rename = "FA_SCRAP_LOSS_YOY")]
    pub fa_scrap_loss_yoy: Option<Value>, // 固定资产报废损失同比增长
    #[serde(rename = "FAIRVALUE_CHANGE_LOSS_YOY")]
    pub fairvalue_change_loss_yoy: Option<Value>, // 公允价值变动损失同比增长
    #[serde(rename = "RECEIVE_WRITEOFF_YOY")]
    pub receive_writeoff_yoy: Option<Value>, // 应收账款核销同比增长
    #[serde(rename = "INVEST_LOSS_YOY")]
    pub invest_loss_yoy: Option<Value>, // 投资损失同比增长
    #[serde(rename = "EXCHANGE_LOSS_YOY")]
    pub exchange_loss_yoy: Option<Value>, // 汇兑损失同比增长
    #[serde(rename = "BOND_INTEREST_EXPENSE_YOY")]
    pub bond_interest_expense_yoy: Option<Value>, // 债券利息支出同比增长
    #[serde(rename = "DEFER_TAX_YOY")]
    pub defer_tax_yoy: Option<Value>, // 递延所得税同比增长
    #[serde(rename = "DT_ASSET_REDUCE_YOY")]
    pub dt_asset_reduce_yoy: Option<Value>, // 递延所得税资产减少同比增长
    #[serde(rename = "DT_LIAB_ADD_YOY")]
    pub dt_liab_add_yoy: Option<Value>, // 递延所得税负债增加同比增长
    #[serde(rename = "INVENTORY_REDUCE_YOY")]
    pub inventory_reduce_yoy: Option<Value>, // 存货减少同比增长
    #[serde(rename = "LOAN_REDUCE_YOY")]
    pub loan_reduce_yoy: Option<Value>, // 贷款减少同比增长
    #[serde(rename = "DEPOSIT_ADD_YOY")]
    pub deposit_add_yoy: Option<Value>, // 存款增长同比增长
    #[serde(rename = "LEND_ADD_YOY")]
    pub lend_add_yoy: Option<Value>, // 贷款增长同比增长
    #[serde(rename = "FINASSET_REDUCE_YOY")]
    pub finasset_reduce_yoy: Option<Value>, // 金融资产减少同比增长
    #[serde(rename = "FINLIAB_ADD_YOY")]
    pub finliab_add_yoy: Option<Value>, // 金融负债增加同比增长
    #[serde(rename = "OPERATE_RECE_REDUCE_YOY")]
    pub operate_rece_reduce_yoy: Option<Value>, // 经营应收款减少同比增长
    #[serde(rename = "OPERATE_PAYABLE_ADD_YOY")]
    pub operate_payable_add_yoy: Option<Value>, // 经营应付款增加同比增长
    #[serde(rename = "OTHER_YOY")]
    pub other_yoy: Option<Value>, // 其他同比增长
    #[serde(rename = "FBOPERATE_NETCASH_OTHER_YOY")]
    pub fboperate_netcash_other_yoy: Option<Value>, // 经营活动净现金流其他同比增长
    #[serde(rename = "FBOPERATE_NETCASH_BALANCE_YOY")]
    pub fboperate_netcash_balance_yoy: Option<Value>, // 经营活动净现金流余额同比增长
    #[serde(rename = "FBNETCASH_OPERATE_YOY")]
    pub fbnetcash_operate_yoy: Option<Value>, // 经营活动净现金流同比增长
    #[serde(rename = "DEBT_TRANSFER_CAPITAL_YOY")]
    pub debt_transfer_capital_yoy: Option<Value>, // 债务转增资本同比增长
    #[serde(rename = "CONVERT_BOND_1YEAR_YOY")]
    pub convert_bond_1year_yoy: Option<Value>, // 一年内到期可转换债券同比增长
    #[serde(rename = "FINLEASE_OBTAIN_FA_YOY")]
    pub finlease_obtain_fa_yoy: Option<Value>, // 融资租赁取得固定资产同比增长
    #[serde(rename = "UNINVOLVE_INVESTFIN_OTHER_YOY")]
    pub uninvolve_investfin_other_yoy: Option<Value>, // 未涉及金融投资其他同比增长
    #[serde(rename = "END_CASH_YOY")]
    pub end_cash_yoy: Option<Value>, // 期末现金同比增长
    #[serde(rename = "BEGIN_CASH_YOY")]
    pub begin_cash_yoy: Option<Value>, // 期初现金同比增长
    #[serde(rename = "END_CASH_EQUIVALENTS_YOY")]
    pub end_cash_equivalents_yoy: Option<Value>, // 期末现金等价物同比增长
    #[serde(rename = "BEGIN_CASH_EQUIVALENTS_YOY")]
    pub begin_cash_equivalents_yoy: Option<Value>, // 期初现金等价物同比增长
    #[serde(rename = "FBCCE_ADD_OTHER_YOY")]
    pub fbcce_add_other_yoy: Option<Value>, // 现金及现金等价物增加其他同比增长
    #[serde(rename = "FBCCE_ADD_BALANCE_YOY")]
    pub fbcce_add_balance_yoy: Option<Value>, // 现金及现金等价物增加余额同比增长
    #[serde(rename = "FBCCE_ADD_YOY")]
    pub fbcce_add_yoy: Option<Value>, // 现金及现金等价物增加同比增长
    #[serde(rename = "CREDIT_IMPAIRMENT_INCOME_YOY")]
    pub credit_impairment_income_yoy: Option<Value>, // 信用减值收入同比增长
}

impl RptF10FinanceBcashflow {
    /// 现金流量表 列表
    /// Referer: https://emweb.securities.eastmoney.com/pc_hsf10/pages/index.html?type=web&code=SZ000001&color=b#/cwfx/xjllb
    /// data: https://datacenter.eastmoney.com/securities/api/data/get?type=RPT_F10_FINANCE_BCASHFLOW&sty=SECURITY_CODE%2CREPORT_DATE%2CREPORT_TYPE%2CREPORT_DATE_NAME&filter=(SECURITY_CODE%3D%22000001%22)&p=1&ps=200&sr=-1&st=REPORT_DATE&source=HSF10&client=PC&v=06890818749850656
    pub async fn rpt_f10_finance_bcashflow_list(code: &str) -> Result<RptF10FinanceBcashflow> {
        // Query String Parameters:
        //
        // type: RPT_F10_FINANCE_BCASHFLOW
        // sty: SECURITY_CODE,REPORT_DATE,REPORT_TYPE,REPORT_DATE_NAME
        // filter: (SECURITY_CODE="000001")
        // p: 1
        // ps: 200
        // sr: -1
        // st: REPORT_DATE
        // source: HSF10
        // client: PC
        // v: 06890818749850656

        let request_url = format!(
            "https://datacenter.eastmoney.com/securities/api/data/get?type=RPT_F10_FINANCE_BCASHFLOW&sty=SECURITY_CODE%2CREPORT_DATE%2CREPORT_TYPE%2CREPORT_DATE_NAME&filter=(SECURITY_CODE%3D%22{code}%22)&p=1&ps=200&sr=-1&st=REPORT_DATE&source=HSF10&client=PC&v=06890818749850656"
        );

        let response = REQWEST_CLIENT.get(request_url)
            .header(reqwest::header::ACCEPT, "*/*")
            .header(reqwest::header::ACCEPT_ENCODING, "gzip, deflate, br")
            .header(reqwest::header::ACCEPT_LANGUAGE, "zh-CN,zh;q=0.9,en;q=0.8")
            .header(reqwest::header::CACHE_CONTROL, "no-cache")
            .header(reqwest::header::CONNECTION, "keep-alive")
            // .header(reqwest::header::COOKIE, "qgqp_b_id=d6299473145338f68687834ba37fa719; st_si=77687174285423; AUTH_FUND.EASTMONEY.COM_GSJZ=AUTH*TTJJ*TOKEN; EMFUND0=01-16%2016%3A57%3A06@%23%24%u4E2D%u822A%u65B0%u8D77%u822A%u7075%u6D3B%u914D%u7F6E%u6DF7%u5408A@%23%24005537; EMFUND1=01-16%2017%3A04%3A53@%23%24%u91D1%u4FE1%u6D88%u8D39%u5347%u7EA7%u80A1%u7968A@%23%24006692; EMFUND2=01-16%2020%3A01%3A56@%23%24%u5357%u65B9%u4E0A%u8BC1380ETF@%23%24510290; EMFUND3=01-29%2015%3A02%3A07@%23%24%u534E%u590F%u4E2D%u8BC1%u5168%u6307%u623F%u5730%u4EA7ETF@%23%24515060; EMFUND4=01-30%2014%3A41%3A22@%23%24%u534E%u6CF0%u67CF%u745E%u6D88%u8D39%u6210%u957F%u6DF7%u5408@%23%24001069; EMFUND5=01-30%2014%3A45%3A59@%23%24%u5E7F%u53D1%u6052%u751F%u6D88%u8D39%28QDII-ETF%29@%23%24159699; EMFUND6=01-30%2014%3A47%3A24@%23%24%u5357%u65B9%u7EA2%u5229%u4F4E%u6CE250ETF@%23%24515450; EMFUND7=01-31%2015%3A21%3A23@%23%24%u56FD%u8054%u4E2D%u8BC1%u7164%u70AD%u6307%u6570%28LOF%29A@%23%24168204; EMFUND8=02-02%2008%3A34%3A56@%23%24%u666F%u987A%u957F%u57CE%u652F%u67F1%u4EA7%u4E1A%u6DF7%u5408@%23%24260117; EMFUND9=02-02 10:30:22@#$%u897F%u90E8%u5229%u5F97%u805A%u79BE%u6DF7%u5408A@%23%24007423; st_asi=delete; HAList=ty-1-513130-%u6052%u751F%u79D1%u6280ETF%2Cty-0-300078-%u601D%u521B%u533B%u60E0%2Cty-0-300486-%u4E1C%u6770%u667A%u80FD%2Cty-1-513360-%u6559%u80B2ETF%2Cty-0-300478-%u676D%u5DDE%u9AD8%u65B0%2Cty-0-301589-N%u8BFA%u74E6%2Cty-1-603135-%u4E2D%u91CD%u79D1%u6280%2Cty-0-000001-%u5E73%u5B89%u94F6%u884C%2Cty-0-002400-%u7701%u5E7F%u96C6%u56E2%2Cty-1-601127-%u8D5B%u529B%u65AF; st_pvi=47260449691882; st_sp=2024-01-12%2017%3A28%3A27; st_inirUrl=https%3A%2F%2Fwww.google.com.hk%2F; st_sn=438; st_psi=20240226102321941-113200301321-9024721593")
            .header(reqwest::header::HOST, "datacenter.eastmoney.com")
            .header(reqwest::header::ORIGIN, "https://emweb.securities.eastmoney.com")
            .header(reqwest::header::PRAGMA, "no-cache")
            .header(reqwest::header::REFERER, "https://emweb.securities.eastmoney.com/")
            .header(
                reqwest::header::USER_AGENT,
                "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36"
            )
            .header(
                "Sec-Ch-Ua",
                "\"Not A(Brand\";v=\"99\", \"Google Chrome\";v=\"121\", \"Chromium\";v=\"121\""
            )
            .header("Sec-Ch-Ua-Mobile", "?0")
            .header("Sec-Ch-Ua-Platform", "\"macOS\"")
            .header("Sec-Fetch-Dest", "empty")
            .header("Sec-Fetch-Mode", "cors")
            .header("Sec-Fetch-Site", "same-origin")
            .send().await?;

        let body = response.text().await?;

        // println!("*** body={}\n\nhangqin\n\n", body);

        let fund: RptF10FinanceBcashflow = serde_json::from_str(&body)?;

        // println!("{:?}", fund);

        Ok(fund)
    }

    /// 现金流量表详细 按报告期 == 报告期同比 (同一个API，只是显示内容不同)
    /// Referer: https://emweb.securities.eastmoney.com/pc_hsf10/pages/index.html?type=web&code=SZ000001&color=b#/cwfx/xjllb
    /// data: https://datacenter.eastmoney.com/securities/api/data/get?type=RPT_F10_FINANCE_BCASHFLOW&sty=APP_F10_BCASHFLOW&filter=(SECUCODE%3D%22000001.SZ%22)(REPORT_DATE%20in%20(%272023-09-30%27%2C%272023-06-30%27%2C%272023-03-31%27%2C%272022-12-31%27%2C%272022-09-30%27))&p=1&ps=5&sr=-1&st=REPORT_DATE&source=HSF10&client=PC&v=008118535678368177
    pub async fn rpt_f10_finance_bcashflow(code: &str) -> Result<RptF10FinanceBcashflow> {
        // Query String Parameters:
        //
        // type: RPT_F10_FINANCE_BCASHFLOW
        // sty: APP_F10_BCASHFLOW
        // filter: (SECUCODE="000001.SZ")(REPORT_DATE in ('2023-09-30','2023-06-30','2023-03-31','2022-12-31','2022-09-30'))
        // p: 1
        // ps: 5
        // sr: -1
        // st: REPORT_DATE
        // source: HSF10
        // client: PC
        // v: 07757129855961344

        let request_url = format!(
            "https://datacenter.eastmoney.com/securities/api/data/get?type=RPT_F10_FINANCE_BCASHFLOW&sty=APP_F10_BCASHFLOW&filter=(SECUCODE%3D%22{code}%22)(REPORT_DATE%20in%20(%272023-09-30%27%2C%272023-06-30%27%2C%272023-03-31%27%2C%272022-12-31%27%2C%272022-09-30%27))&p=1&ps=5&sr=-1&st=REPORT_DATE&source=HSF10&client=PC&v=008118535678368177"
        );

        let response = REQWEST_CLIENT.get(request_url)
            .header(reqwest::header::ACCEPT, "*/*")
            .header(reqwest::header::ACCEPT_ENCODING, "gzip, deflate, br")
            .header(reqwest::header::ACCEPT_LANGUAGE, "zh-CN,zh;q=0.9,en;q=0.8")
            .header(reqwest::header::CACHE_CONTROL, "no-cache")
            .header(reqwest::header::CONNECTION, "keep-alive")
            // .header(reqwest::header::COOKIE, "qgqp_b_id=d6299473145338f68687834ba37fa719; st_si=77687174285423; AUTH_FUND.EASTMONEY.COM_GSJZ=AUTH*TTJJ*TOKEN; EMFUND0=01-16%2016%3A57%3A06@%23%24%u4E2D%u822A%u65B0%u8D77%u822A%u7075%u6D3B%u914D%u7F6E%u6DF7%u5408A@%23%24005537; EMFUND1=01-16%2017%3A04%3A53@%23%24%u91D1%u4FE1%u6D88%u8D39%u5347%u7EA7%u80A1%u7968A@%23%24006692; EMFUND2=01-16%2020%3A01%3A56@%23%24%u5357%u65B9%u4E0A%u8BC1380ETF@%23%24510290; EMFUND3=01-29%2015%3A02%3A07@%23%24%u534E%u590F%u4E2D%u8BC1%u5168%u6307%u623F%u5730%u4EA7ETF@%23%24515060; EMFUND4=01-30%2014%3A41%3A22@%23%24%u534E%u6CF0%u67CF%u745E%u6D88%u8D39%u6210%u957F%u6DF7%u5408@%23%24001069; EMFUND5=01-30%2014%3A45%3A59@%23%24%u5E7F%u53D1%u6052%u751F%u6D88%u8D39%28QDII-ETF%29@%23%24159699; EMFUND6=01-30%2014%3A47%3A24@%23%24%u5357%u65B9%u7EA2%u5229%u4F4E%u6CE250ETF@%23%24515450; EMFUND7=01-31%2015%3A21%3A23@%23%24%u56FD%u8054%u4E2D%u8BC1%u7164%u70AD%u6307%u6570%28LOF%29A@%23%24168204; EMFUND8=02-02%2008%3A34%3A56@%23%24%u666F%u987A%u957F%u57CE%u652F%u67F1%u4EA7%u4E1A%u6DF7%u5408@%23%24260117; EMFUND9=02-02 10:30:22@#$%u897F%u90E8%u5229%u5F97%u805A%u79BE%u6DF7%u5408A@%23%24007423; st_asi=delete; HAList=ty-1-513130-%u6052%u751F%u79D1%u6280ETF%2Cty-0-300078-%u601D%u521B%u533B%u60E0%2Cty-0-300486-%u4E1C%u6770%u667A%u80FD%2Cty-1-513360-%u6559%u80B2ETF%2Cty-0-300478-%u676D%u5DDE%u9AD8%u65B0%2Cty-0-301589-N%u8BFA%u74E6%2Cty-1-603135-%u4E2D%u91CD%u79D1%u6280%2Cty-0-000001-%u5E73%u5B89%u94F6%u884C%2Cty-0-002400-%u7701%u5E7F%u96C6%u56E2%2Cty-1-601127-%u8D5B%u529B%u65AF; st_pvi=47260449691882; st_sp=2024-01-12%2017%3A28%3A27; st_inirUrl=https%3A%2F%2Fwww.google.com.hk%2F; st_sn=438; st_psi=20240226102321941-113200301321-9024721593")
            .header(reqwest::header::HOST, "datacenter.eastmoney.com")
            .header(reqwest::header::ORIGIN, "https://emweb.securities.eastmoney.com")
            .header(reqwest::header::PRAGMA, "no-cache")
            .header(reqwest::header::REFERER, "https://emweb.securities.eastmoney.com/")
            .header(
                reqwest::header::USER_AGENT,
                "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36"
            )
            .header(
                "Sec-Ch-Ua",
                "\"Not A(Brand\";v=\"99\", \"Google Chrome\";v=\"121\", \"Chromium\";v=\"121\""
            )
            .header("Sec-Ch-Ua-Mobile", "?0")
            .header("Sec-Ch-Ua-Platform", "\"macOS\"")
            .header("Sec-Fetch-Dest", "empty")
            .header("Sec-Fetch-Mode", "cors")
            .header("Sec-Fetch-Site", "same-origin")
            .send().await?;

        let body = response.text().await?;

        // println!("*** body={}\n\nhangqin\n\n", body);

        let fund: RptF10FinanceBcashflow = serde_json::from_str(&body)?;

        // println!("{:?}", fund);

        Ok(fund)
    }
}

#[cfg(test)]
mod test {
    use super::*;

    #[tokio::test]
    async fn test_stock_rpt_f10_finance_bcashflow_list() {
        let result = RptF10FinanceBcashflow::rpt_f10_finance_bcashflow_list("000001").await;

        assert_eq!(result.is_ok(), true);
        if let Ok(cash_flow) = result {
            assert_eq!(cash_flow.message.as_str(), Some("ok"));
            println!("cash_flow.result.data.first= {:?}\n", cash_flow.result.data.first());
        }
    }

    #[tokio::test]
    async fn test_stock_rpt_f10_finance_bcashflow() {
        let result = RptF10FinanceBcashflow::rpt_f10_finance_bcashflow("000001.SZ").await;

        assert_eq!(result.is_ok(), true);
        if let Ok(cash_flow) = result {
            assert_eq!(cash_flow.message.as_str(), Some("ok"));
            println!("cash_flow.result.data.first= {:?}\n", cash_flow.result.data.first());
        }
    }
}
